package com.hz.house.dao;

import com.hz.house.bean.entity.BuildingOpenLotteryBind;
import com.hz.house.bean.entity.LotteryBind;
import com.hz.house.bean.entity.MyLottery;
import com.hz.house.bean.entity.OpenResult;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.NotNull;
import java.util.List;

public interface KaiPanResultSearchMapper {
    /**
     * 查询摇号结果
     * @param page
     * @return
     */
    List<OpenResult> queryLotteryResult(@Param("page") Integer page,@Param("orderNum") String orderNum,
                                        @Param("yhType") String yhType,@Param("searchWord") String searchWord);

    /**
     * 查询楼盘名
     * @param buildingId
     * @return
     */
    String findBuildingName(@Param("buildingId") Integer buildingId);

    /**
     * 查询复核结果
     * @param page
     * @return
     */
    List<OpenResult> queryVerifyResult(@Param("page")Integer page,@Param("orderNum") String orderNum,
                                      @Param("searchWord") String searchWord,@Param("fhType") String fhType);

    /**
     * 查询房源信息
     * @param openId
     * @return
     */
    MyLottery findFyInfo(@Param("openId") Integer openId);

    /**
     * 查询我的摇号结果
     * @param orderNum
     * @return
     */
    List<OpenResult> findMyLottery(@Param("orderNum") String orderNum,@Param("yhNum") String yhNum,@Param("regNum") String regNum);

    /**
     * 统计摇号结果条数
     * @return
     */
    Integer countYh(@Param("orderNum") String orderNum,@Param("yhType") String yhType, @Param("searchWord") String searchWord);

    /**
     * 统计复核结果数量
     * @param orderNum
     * @return
     */
    Integer countFh(@Param("orderNum") String orderNum,@Param("searchWord") String searchWord,@Param("fhType") String fhType);

    /**
     * 查询楼盘及其开盘信息
     * @param buildingName
     * @return
     */
    List<LotteryBind> findBuilding(@Param("buildingName") String buildingName);

    /**
     * 增加我的绑定
     * @param bind
     */
    Integer addMyBind(LotteryBind bind);

    /**
     * 查询用户所有绑定信息
     * @param customerId
     * @return
     */
    List<BuildingOpenLotteryBind> findUserBind(@NotNull Integer customerId);
}
